|
Date : 15 f�vrier 1992 Programme : WORKNC03 Protection : Clef physique Fichiers : Voir liste ci-dessous. Temps pass� : 45 minutes Soci�t� : ? Outils : SOFT-ICE V2.50 Divers : Origine : L.F. Num�ro : 163 Un programme re�u sous forme de BACKUP prot�g� par un dongle. En pla�ant SOFT-ICE avec un point d'arr�t en : BPIO 379 R On s'arr�te d�s l'acc�s au port imprimante. En inhibant le point d'arr�t et en d�roulant le programme au pas � pas on sort d'un CALL AA suivi d'un test. Je le force et me retrouve dans le programme. CS=1637 CS:0315 E892FD CALL 00AA ; Test de la clef CS:0318 75DC JNZ 02F6 ; Si NOP, NOP --> OK CS:031A BB0400 MOV BX,0004 La routine est malheureusement crypt�e et un essai avec un de mes lan�eurs �choue. ( je n'ai essay� que l'INT 1C ) Je d�cide d'�tudier la m�thode de cryptage de la clef. Je replace un BPMB 1637:0315 W EQ E8 et je me retrouve dans une routine qui XOR une chaine se trouvant en DS:215A avec une autre que je n'arrive pas � rep�rer. La fa�on dont on cherche les octets � XORER avec la premi�re chaine est un vrai casse t�te. Un premier point positif est que la premi�re chaine se trouve dans tous les fichiers comportant la clef. Dans le cas pr�sent le CALL suivi du test se code comme suit: E8 92 FD 75 DC Et la chaine se trouvant dans les fichiers est la suivante: F3 BF E6 58 C7 Donc F3 XOR� avec YY donne E8 d'o� YY = F3 XOR E8 = 1B ! Si les octets sont XOR�s ind�pendemment les uns des autres il est simple de trouver la valeur � mettre � la place de 58 pour obtenir 74. C'est 59. Apr�s essai il s'av�re effectivement que la chaine est cod�e un octet � la fois sans influencer celui en amont ni celui en aval. C'est une erreur, il faudrait que les programmeurs s'inspirent de mes lanceurs crypt�s. Avec HEXUTIL on trouve la chaine dans ces quatre fichiers: Chaine � rechercher: F3 BF E6 58 C7 Fichier REDUPO.EXE Egalit� trouv�e � l'offset HEXA: 08515 DEC: 034069 R�f�rence PCTOOLS Secteur: 066 D�p: 277 Fichier WNCCLE.EXE Egalit� trouv�e � l'offset HEXA: 00E35 DEC: 003637 R�f�rence PCTOOLS Secteur: 007 D�p: 053 Fichier WNCPRE27.EXE Egalit� trouv�e � l'offset HEXA: 0A725 DEC: 042789 R�f�rence PCTOOLS Secteur: 083 D�p: 293 Fichier WNCPRE26.EXE Egalit� trouv�e � l'offset HEXA: 0A0B5 DEC: 041141 R�f�rence PCTOOLS Secteur: 080 D�p: 181 ATTENTION dans ce cas le programme ne fonctionne plus avec la CLEF! Dans l'hypoth�se ou l'on veut un fonctionnement dans les deux cas il faudra trouver quel octet XOR� avec 90 donne 2D ( premier octet ) et quel octet XOR� avec 1B donne 90 ( deuxi�me octet ). 0010 1101 2D 0001 1011 1B XOR 1001 0000 90 1001 0000 90 _________ _________ 1011 1101 BD 1000 1011 8B Donc chercher la chaine ci-dessus et modifier 58C7 par BD8B dans les quatres fichiers concern�s. Nota: n'ayant en main qu'une version BACKUPEE sur le disque C je n'ai pas pu essayer ce logiciel correctement ( j'ai un disque D ) le seul essai positif n'a eu lieu qu'avec le fichier REDUPO.EXE. Il me faudrait la copie originale du programme avec sa proc�dure d'installation ceci afin de pouvoir "garantir l'op�ration chirurgicale". FREDDY |